iT邦幫忙

2023 iThome 鐵人賽

DAY 27
0
Mobile Development

SwiftUI 的大大小小系列 第 27

Day 27 - 在 SwiftUI 中使用 Toggle

  • 分享至 

  • xImage
  •  

hero

在 UIKit 中的 UISwitch ,在 Swift 就是 Toggle 了。而 Toggle 有 UISwitch 所沒有的功能,那今天就來分享基本的使用方法吧!

文件

基本程式碼

如下,可以用一個 property 來取得 Toggle 的開啟狀態

struct ContentView: View {
    @State private var isOn = false

    var body: some View {
        VStack {
            Toggle(isOn: $isOn) {
                Text("顯示")
            }
            .padding()
            Spacer()
        }
    }
}

2701

取得開啟狀態變更畫面

如下,可以根據 isOn 的狀態進行畫面變更

struct ContentView: View {
    @State private var isOn = false

    var body: some View {
        VStack {
            Toggle(isOn: $isOn) {
                Text("開關")
            }
            .padding()
            if isOn {
                Text("已開啟")
            }
            Spacer()
        }
    }
}

2702

Modifier - toggleStyle

toggleStyle 能夠設定 toggle 的外觀,預設是 .switch

那我們來變更看看,這同時也是 UISwitch 沒有的功能,只要在後面加入一行如下:

Toggle(isOn: $isOn) {
    Text("開關")
}
.toggleStyle(.button)

成果如下

2703

結語

以上,就是 Toggle 的基本用法,可以應用在 app 設定,或是表單內個別項目的開關。

那今天的 SwiftUI 大大小小就到這邊,明天見!

環境

  • Xcode 15

本篇使用到的 UI 元件和 modifiers 基本上沒有受到版本更新影響。若要在 Xcode 14 等環境下使用也是沒問題的。


上一篇
Day 26 - 在 SwiftUI 中使用 presentationDetents 顯示非全版畫面
下一篇
Day 28 - 在 SwiftUI 實作客製化 ToggleStyle
系列文
SwiftUI 的大大小小30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言